package com.testpro.learn.varval

object UnitNullNothing {


  /**
   * Unit==值类型
   * Null==一个实例
   * Nothing= 任何一个类的子类
   * 当一个函数 我们确定没有一个正常返回值时可以用nothing来指定返回类型，这样有一个好处 返回的值赋给任何一个函数和变量，提高了程序的兼容性
   *
   * @param
   */
  def main(args: Array[String]): Unit = {
    //直接调用UnitNullNothing类的静态方法test 所以可以直接调用
    var s = test("名称", 5)
    println(s) //打印的是()

    var k = null
    println(k) //打印的是null

    String s = testNothing()


  }

  def test(name: String, age: Int): Unit = {
    println(s"name = $name")
    println(s"age = $age")
  }

  def testNothing(): Nothing = {
    if ("a".contains("c")) {
      throw new Exception()
    } else
      throw new NoSuchFieldException()

  }


}
